﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WMM.Tapioca.Taxonomy;

namespace WMM.Tapioca.XbrlDimension
{
    /// <summary>
    /// When a primary item declaration is the source of both a domain-member relationship
    /// and a has-hypercube relationship, the target of the domain-member relationship is said
    /// to inherit the has-hypercube relationship of the source element. 
    /// </summary>
    public class Inheritance : DRSRelationship
    {
        private Concept primaryItem;

        /// <returns> Primary item of this hypercube. </returns>
        public Concept PrimaryItem
        {
            get { return primaryItem; }
            set { primaryItem = value; }
        }

        private List<Concept> primaryItemsInherited;

        /// <returns> Primary item Inherited. </returns>
        public List<Concept> PrimaryItemsInherited
        {
            get { return primaryItemsInherited; }
            set { primaryItemsInherited = value; }
        }

        private Hypercube hypercube;

        /// <returns> hypercube of this relationship. </returns>
        public Hypercube Hypercube
        {
            get { return hypercube; }
            set { hypercube = value; }
        }

        /// <summary>
        /// The constructor. 
        /// </summary>
        public Inheritance()
        {
            primaryItemsInherited = new List<Concept>();
        }
    }
}
